#!/usr/bin/env python3
# Created by han on 2016/7/4
import os,sys
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from module import public
from module import my_client
from conf import db_conf
IP = db_conf.server_info[0]
PORT = db_conf.server_info[1]

def client_main():
    while True:
        menu_list = ["登陆","注册"]
        user_chose = public.user_chose(*menu_list)
        if not user_chose:
            continue
        elif user_chose == "b":
            break
        elif user_chose == "1":             #登陆
            while True:
                ret = public.login()        #登陆，并获取用户文件中的信息
                if not ret:                 #如果返回值为假
                    break                #用户名密码有误
                elif ret == "reg":          #如果返回为reg，代表用户没有注册
                    break                   #没有注册过不能登陆
                else:
                    user_connect = my_client.myclient(IP, PORT, ret["name"], ret["user_size"])
                    ret = user_connect.login(ret)
                    #ret = 传给服务器，
                    if ret == "1":
                        user_connect.cmd()
                    else:
                        msg = "用户名或密码有误，请重新输出"
                        public.color_msg(31, msg, 40)
                        continue
        elif user_chose == "2":         #注册
            while True:
                reg_ret = public.register()     #生成注册信息
                #(json, dict)
                if not reg_ret:             #如果没有生成，就代表注册失败，需要返回
                    continue
                user = my_client.myclient(IP, PORT)     #注册成功了就生成连接服务器的对象
                reg_info = user.client_register(reg_ret[0])     #把注册信息给服务器传过去，让服务器判断用户有效性
                if reg_info:
                    public.save_info(reg_ret[1])          #保存文件，创建目录
                    msg = "register success"
                    public.color_msg(32, msg, 40)
                break
